package config

import (
	"fmt"
	"os"

	"github.com/spf13/viper"
)

// 总导出文件
type Conf struct {
	Service service `yaml:"service"`
}

type service struct {
	Port  string `yaml:"port"`
	Model string `yaml:"Model"`
}

var Config *Conf

// 配置初始化
func InitConfig() {

	// pwd, err := os.Getwd()
	// if err != nil {
	// 	panic(err)
	// }
	// 判断是否测试环境
	GOENV := os.Getenv("GOENV")
	if GOENV == "" {
		viper.SetConfigName("config")

	} else {
		viper.SetConfigName(fmt.Sprintf("%s.config", GOENV))
	}
	viper.AddConfigPath("config")
	viper.SetConfigType("yaml")

	if err := viper.ReadInConfig(); err != nil {
		panic(fmt.Sprintf("config file have trabla %v ", err.Error()))
	}
	// if err := viper.Unmarshal(&Config); err != nil {
	// 	panic(err)
	// }

	// yamlFile, err := os.ReadFile("./config.yaml")
	// if err != nil {
	// 	panic(err)
	// }

	// 	// fmt.Println("yaml 文件的内容: \n", yamlFile)
	// 	// 绑定值
	// 	err = yaml.Unmarshal(yamlFile, &Config)
	// fmt.Printf("config → %+v\n", Config)
	// if err != nil {
	// 	panic(err)
	// }

}
